Skip to main content
Version: Preview

Glue Pipelines

Experimental
Creates:
AssetsLineageRun History

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The Glue Pipelines plugin catalogs AWS Glue workflows: one Pipeline asset per workflow, one Task asset per workflow step, and the run history of the workflows, jobs and crawlers in the account.

It shares the Glue provider with the Glue plugin, so a workflow step that runs a job links to the job asset that plugin already created instead of a copy of it. Run the two together: this plugin never creates Job, Crawler, Database or Bucket assets, it only points at them.

Lineage

  • A workflow contains its steps.
  • A step depends on the next step, from the workflow run graph.
  • A job step depends on the Glue job it runs, and a crawler step on the crawler it runs.
  • A trigger step depends on the jobs and crawlers it starts, and the jobs and crawlers it waits for feed into it.
  • A crawler is fed by the S3 bucket of each of its targets and produces the Glue database it writes to.

Run History

Run history is attached to the asset that ran: workflow runs to the workflow's Pipeline asset, job runs to the Glue plugin's Job asset, and crawls to its Crawler asset. Each run becomes a START event and a closing event: COMPLETE, FAIL, ABORT or RUNNING while it is still going.

Some Glue endpoints do not return the workflow run graph. When it is missing, the workflow's own triggers are used to describe its steps instead.

Required Permissions

AWS Configuration

See AWS Configuration for the supported AWS configuration options.

Example Configuration


credentials:
region: "us-east-1"
profile: "production"
role: "<role>"
tags:
- "aws"
include_workflows: true
include_triggers: true
include_run_history: true
run_history_limit: 20
include_crawlers: true
tags_to_metadata: true

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
credentialsAWSCredentialsfalseAWS credentials configuration
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
include_crawlersboolfalseWhether to read crawlers for lineage and runs
include_run_historyboolfalseWhether to collect workflow, job and crawler runs
include_tags[]stringfalseList of AWS tags to include as metadata. By default, all tags are included.
include_triggersboolfalseWhether to read trigger definitions
include_workflowsboolfalseWhether to discover Glue workflows
run_history_limitintfalseHow many recent runs to read per workflow, job and crawler
tagsTagsConfigfalseTags to apply to discovered assets
tags_to_metadataboolfalseConvert AWS tags to Marmot metadata

Available Metadata

The following metadata fields are available:

FieldTypeDescription
attemptint32Retry attempt number of a job run
crawlerstringGlue crawler the step runs
crawler_countintNumber of crawler steps
created_onstringWhen the workflow was created
default_run_propertiesstringRun properties every run starts with, as key=value pairs
descriptionstringWorkflow description
dpu_hourfloat64DPU hours a crawl consumed
error_messagestringError reported by a failed run
execution_time_secondsint32How long a job run took
jobstringGlue job the step runs
job_countintNumber of job steps
job_script_locationstringLocation of the job script
job_typestringJob command (glueetl, pythonshell, gluestreaming)
last_modified_onstringWhen the workflow was last changed
last_run_completedstringWhen the most recent run finished
last_run_idstringIdentifier of the most recent run
last_run_startedstringWhen the most recent run started
last_run_statisticsstringAction counters of the most recent run, as key=value pairs
last_run_statusstringStatus of the most recent run
log_groupstringCloudWatch log group of a crawl
max_concurrent_runsint32How many runs may overlap
node_countintNumber of steps in the workflow
node_namestringStep name inside the workflow
node_typestringStep kind (job, crawler, trigger)
number_of_workersint32Workers the job run used
regionstringAWS region the workflow lives in
statestringJob or crawler run state reported by AWS
statisticsstringAction counters of a workflow run
statusstringWorkflow run status reported by AWS
summarystringWhat a crawl changed
triggerstringTrigger that started the job run
trigger_actionsstringJobs and crawlers the trigger starts
trigger_countintNumber of trigger steps
trigger_predicatestringWhat a conditional trigger waits for
trigger_schedulestringCron expression of a scheduled trigger
trigger_statestringTrigger state reported by AWS
trigger_typestringTrigger kind (SCHEDULED, CONDITIONAL, ON_DEMAND, EVENT)
unique_idstringIdentifier AWS gives the step in the run graph
urlstringAWS console link to the workflow
worker_typestringWorker size the job run used
workflowstringWorkflow the step belongs to